package com.lz.yz.member.service;

import com.lz.yz.base.entity.ReturnValue;
import com.lz.yz.core.Service;
import com.lz.yz.member.entity.Member;
import com.lz.yz.member.model.MemberLableModel;
import com.lz.yz.member.model.RequestMemberModel;
import com.lz.yz.member.model.ThirdLoginModel;
import com.lz.yz.member.param.MemberParam;


/**
 * Created by CodeGenerator on 2017/11/09.
 */
public interface MemberService extends Service<Member> {

    /**
     * 用户注册
     */
    ReturnValue validateAndRegist(ThirdLoginModel model);

    /**
     * 验证手机号是否注册
     *
     * @param phone
     * @return true已注册 false未注册
     */
    Boolean validateAccount(String phone);

    /**
     * 获取用户个人信息
     */
    ReturnValue getUserInfo(MemberParam param);

    /**
     * 获取他人用户个人信息
     */
    ReturnValue getOtherUserInfo(MemberParam param);

    /**
     * 修改个人信息
     *
     */
    void updateUser(RequestMemberModel model);

    /**
     * 验证账户有没有完善资料
     * @param accountId
     * @return true完善 false未完善
     */
    Boolean validateAccountIntact(Integer accountId);

}
